package com.firstwave.sfribbonclient;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@RestController
@EnableDiscoveryClient
public class SfRibbonClientApplication {
    @Bean
    //负载均衡注解
    @LoadBalanced
    RestTemplate restTemplate(){
        return new RestTemplate();
    }

    @Autowired
    private RestTemplate restTemplate;
    @RequestMapping("/hi")
    public String hi(@RequestParam(value = "name" ,defaultValue = "sayhello")String name){
        String greeting=  this.restTemplate.getForObject("http://sf-sayhello/sayhello",String.class);
        return String.format("%s , %s!",greeting,name);
    }
    public static void main(String[] args) {
        SpringApplication.run(SfRibbonClientApplication.class, args);
    }

}
